home *** CD-ROM | disk | FTP | other *** search
/ Software Explosion / Software Explosion (Fore-Matt Home Computing)(1996).iso / tetris / amiga / colors / colorsdoc.txt < prev    next >
Text File  |  1992-01-22  |  25KB  |  445 lines

  1.                                 COLORS V1.0
  2.                                 ===========
  3.  
  4.  
  5.                              By Keith Johnson
  6.                              ================
  7.  
  8.  
  9.                              About this file:
  10.                              ----------------
  11.  
  12.  
  13. This is the ProWrite version of the Colors doc file.  Along with this file
  14. should be:
  15.  
  16.    Colors               - the game itself
  17.    ColorsHiUtil         - high score file utility
  18.    ColorsDoc.prw        - the ProWrite version of this doc file
  19.    ColorsDoc.txt        - the ascii doc file (this file)
  20.    Versions.txt         - history file of the versions of this game
  21.    ColorsHi.abk         - the high score file
  22.    ColorsHiUtilDoc.txt  - information about the high score utility
  23.    MoreMe               - any other miscellaneous information
  24.    Fonts                - a directory with fonts for use with this file.
  25.  
  26.  
  27.  
  28. I realize that in this doc file that I tend to be a bit verbose, but I only do
  29. it to make myself totally clear to everyone who reads this.  There is a lot of
  30. technical information in here for those really interested, but if you're not,
  31. please make sure you at least glance over everything so you know what you're
  32. doing and you don't mess anything up.  Just remember to turn off your screen
  33. savers/blankers!!
  34.  
  35.  
  36.                             About this program:
  37.                             ===================
  38.  
  39.  
  40. The object of COLORS is simply to form lines of four blocks or more of the same 
  41. colors.  Pieces which consist of three blocks are randomly picked and then fall
  42. down in a T*tris-like style.  There are four different colors with which you can
  43. form lines, so there are technically 64 different pieces, but since they can be
  44. rotated, there are (I think) only 34 different pieces.  The bigger the lines
  45. that you form are, the more points you get.  Also, if you clear more than one
  46. color at a time, your score is multiplied.  All of this is explained in detail
  47. later.
  48.  
  49. COLORS is written with the highly fantastic program AMOS V1.32.  If you don't
  50. have it, I would highly consider getting it.  That is, if you are a BASIC fan.
  51. I have programmed in BASIC for a heck of a lot of my life so far, and I still
  52. like it better than any other language I know (PASCAL, C, 68k assembly, 6502
  53. assembly(!)).  Anyway, after spending much time writing and debugging this
  54. thing, it was compiled with the AMOS Compiler.  If you have AMOS, then get the
  55. compiler!!  Otherwise, this program would've been much more of a pain to run
  56. and distribute.
  57.  
  58. I have an Amiga 3000UX (that means UNIX is on here) with one floppy drive, the 
  59. standard 5 megs o' RAM, a 100 MB hard drive that came with it and another 100
  60. MB drive that I added later.  Because of this, I wrote COLORS so that it would
  61. run very nicely on my machine, without much regard of how well it does on older
  62. machines.  My inclination is to say yes, it will work just fine.  However, I
  63. don't have access to, say, a 500 with just 512k in it.  I can tell you this:
  64. It doesn't take up all that much memory (the program itself is 156,000 bytes or
  65. so (it was squashed to save disk space to 93,000), and while it's running I
  66. don't think it takes over 300,000), and the game is slowed down using vertical
  67. blank period waits.  So while the 3000 can process everything really fast, it
  68. still has to wait up to 1/50th of a second at certain points, allowing
  69. (hopefully) enough time for other machines that can't process as fast to catch
  70. up.  If any of you have a "lesser" machine, then please let me know how it
  71. works!!  I may be able to change some things if it's necessary.  But keep in
  72. mind I don't promise a thing.  Because of the lack of 3000-only products, and
  73. because of the fact that most programs refuse to take advantage of any extra
  74. RAM you might have (they are all afraid of losing compatibility with all of the
  75. older machines and don't want to risk losing the market to people who don't
  76. want or can't afford the new suped-up machines), I really won't have too much
  77. sympathy.  To be truthful, the game just turned out that it would probably work
  78. with older machines; I didn't design it to.  All that matters to me is that it
  79. works great on a 3000 under Kickstart/Workbench 2.0.  Enough said.
  80.  
  81. This program is being distributed as SHAREWARE.  This means, in case you don't
  82. know by now, that you may (and I really encourage you to) copy this and
  83. distribute it in anyway you want, provided the entire archive is intact.  Also,
  84. you are free to "test" this program for as long as you see fit.  However, the
  85. catch is that if you like it and use it a lot, then you are legally and morally
  86. obligated to pay the shareware registration fee of $10.  If you do, then
  87. several things will happen:  A) You will get any information on updates or
  88. anything like that should any be necessary.  B) You will support the whole
  89. concept of shareware, which is basically to beat developers at their own game.
  90. By giving your money, you will encourage the production of quality programs at
  91. cheap prices (which is what everyone wants).  If you don't, then people like me
  92. eventually tag on to big companies, and we charge you $39.95 per game.  (Which
  93. is what no one wants, especially considering after you buy something, a lot of
  94. places won't let you return it.)  C) You will feel much better than usual when
  95. you wake up the next morning.  If you are really generous and send $20, then
  96. I'll give you a disk with the source code, both in ASCII and AMOS format.
  97.  
  98. One important note about shareware:  A lot of people distribute their programs
  99. for you to try but do annoying things to them, like include delay screens in
  100. them (JRComm is a great example of this) or disable the 'save' function (an
  101. ANSI screen editor I found once did this) or things like that that render the
  102. programs all but useless.  I personally find this highly annoying.  How can you
  103. really tell if the program really works or is going to help you that much if
  104. half of it doesn't work?  Well, I have NEVER registered anything that was not
  105. fully there, and I don't think I ever will.  Rest assured that this game is
  106. fully functional, and if you don't register it, it will still work fine.  I
  107. would like you to register it, but there's not much I can do about it.
  108.  
  109. Some legal stuff:  This program has no warranty of any kind, and I cannot be
  110. held responsible for any damage to your computer as a result of its use.  As
  111. far as I know, this program is bug-free except for things I have specifically
  112. mentioned in the versions or moreme file.  Even then, they probably aren't all
  113. that bad.  So, if you play this game while optimizing your hard drive or
  114. something like that and all of a sudden the computer hangs, nothing >I< can do
  115. about it.  (But you shouldn't be doing anything else when you're doing an
  116. operation of that nature anyway!!)
  117.  
  118.  
  119.                              About the author:
  120.                              =================
  121.  
  122.  
  123. I am currently a sophomore student at Virginia Polytechnic Institute and State
  124. University studying Computer Science.  I live in scenic Warrenton, Virginia,
  125. about 50 minutes away from Washington, D.C.  I have been involved with
  126. computers since about the 5th grade (about 10 years at this point).  I still
  127. have an Apple //e with 128k RAM, 2 disk drives, and a 300 bps modem.  Whee.
  128.  
  129. I play the trumpet for the Marching Virginians, which is a lot of fun, and
  130. it'll be even more fun once we get a decent head coach for our football team
  131. which pretty much sucks right at the moment.  During the summer, I'm a
  132. lifeguard and a swim team coach, which is also fun except for some of the
  133. parents I've come in contact with.
  134.  
  135. The driving force behind this program was mainly the success of T*tris-like
  136. games and all of their cheap knockoffs.  I guess you could say this program was
  137. sort of a meld of T*tris, Dr. M*rio, and Kl*x.  Also, the quality of other
  138. shareware games in this genre is sorely lacking.  Quattro is a fine example of
  139. this.  And I figured if Quattro could make the AmigaWorld top-10 public domain
  140. game list, then I could probably write a game that might too.  I could go on
  141. and on why I don't like Quattro, but I'll just leave it at a couple of things:
  142. You can't "slide" pieces into place because (I assume) he put his check loop
  143. for space underneath the piece before the end-of-time-to-move-the-piece-down-
  144. one-square.  "Sliding" is a fairly essential part of the game and it doesn't
  145. require that much more effort to program it in.  Also, I am a fairly good
  146. T*tris player, and once I started it at the beginner level and made it to round
  147. 14 or so.  Each round gets faster and faster, as it should, but the last round
  148. the delay for the piece moving down one square was ZERO!  Thus, as soon as the
  149. round started, every piece fell directly down (just like holding down the space
  150. bar), and the game was over.  I find that totally unacceptable and just plain
  151. poor programming.
  152.  
  153. I wrote a game that I like to play so that you'd like to play it.  After all,
  154. if I don't enjoy the game, then why should you?  I just hope you like it as
  155. much as I do.
  156.  
  157.  
  158.                                 About AMOS:
  159.                                 ===========
  160.  
  161.  
  162. AMOS has a few eccentricities about it that you should be aware of if you're
  163. not already.  The most important one is that it does not use standard intuition
  164. routines.  Basically what this means is that you can't use left-amiga-m or n or
  165. whatever to go back to Workbench.  AMOS DOES multitask, however!  If you want
  166. to switch between AMOS and Workbench, you press left-amiga-a.  (For real fun,
  167. try holding these down!  If you mess up your monitor, though, forget where you
  168. read this.)  Please note that left-amiga-a will only work with the most recent
  169. run AMOS program.  For example, if you have AMOS in memory, go back to
  170. Workbench and run Colors, then left-amiga-a will NOT cycle through all AMOS
  171. programs running, just Colors in this case.  This also means that you can't use
  172. AMOS to write standard Workbench programs and utilities since you can't access
  173. the windows and Workbench screen and whatnot.  Hopefully someday they'll make
  174. better use of (regular) intuition.
  175.  
  176. One other important implication of this (that took me a LONG time to figure
  177. out):  If you have a screen saver or screen blanker running in the background,
  178. then TURN IT OFF!!  If you don't, then because of not using standard intuition,
  179. your screen blanker is sure to timeout and go into effect (since it can't read
  180. any mouse or keyboard input while AMOS is in front).  What does this mean?
  181. Well, every screen saver/blanker that I know of turns off the mouse as well as
  182. the rest of the screen.  The AMOS screen will not be affected, but screen
  183. savers turn off the mouse by turning off ALL sprites and bobs (blitter
  184. objects).  This means, quite simply, that you cannot see the piece that's
  185. falling down until it's pasted on the screen (dropped all the way).  If I used
  186. the mouse at all, then the mouse pointer would be gone as well.  So don't leave
  187. them running!
  188.  
  189.  
  190.                              About this game:
  191.                              ================
  192.  
  193.  
  194. After a year and a half at school, I have become convinced that there are two
  195. types of people:  Those who like traditional T*tris (the versions available for
  196. home computers), and those who prefer the arcade version made by Atari.  I
  197. myself am an arcade fan, but in respect for all of those people who say T*tris
  198. was MEANT to be played like it is on the home computer, I have included TWO
  199. versions of this game in one program!  Not bad, eh?
  200.  
  201.                               Endurance Game
  202.                               --------------
  203.  
  204. The main purpose of the endurance game is to go as long as you can by making as
  205. many lines as possible.  You still get normal points for the different types of
  206. lines, but the end-of-game line bonus will usually net you most of your points.
  207. You may choose the starting level (ranges from 0, the slowest, to 9, the
  208. fastest).  At level 0, you have one second before the piece falls one space, at
  209. level 9, 1/10th of a second.  The game ends when the next piece cannot be
  210. placed on the screen.
  211.  
  212.                                 Arcade Game
  213.                                 -----------
  214.  
  215. In this game, there are many rounds for you to complete, each round with a
  216. different challenge and goal.  To complete the round, you simply have to
  217. achieve the goal.  The three types of goals are:
  218.  
  219. Lines:  Get this many lines (it doesn't matter what type or how long).
  220.  
  221. Points:  Get this many points to advance.  Obviously, large lines are helpful
  222. here.
  223.  
  224. Diagonals:  Get this many diagonal lines.  Other lines still score, but don't
  225. count towards the goal.
  226.  
  227. In many rounds, there are also some pre-configured boards just to mess you up a
  228. little bit.  Some of them are quite hard to play on as well, but isn't that the
  229. point?  Also, starting at round 10, there is a random element added to the
  230. game:  extra colors thrown in every now and again.  Basically, a column is
  231. chosen at random, and a randomly colored block is put on top of it, provided it
  232. isn't already too close to the top of the screen.  In round 7, you are
  233. introduced to the block:  a grey piece that just sits there.  Blocks are
  234. immovable and they never clear if there are 4 or more in a row of them.  Also,
  235. they don't fall, so once a block is down, nothing goes past it.  Round 13
  236. brings in random blocks.  Blocks may appear ANYWHERE, even on squares where you
  237. already have a regular colored block.  However, you are not doomed if a block
  238. is chosen to appear:  There is a 50% chance that the square will be "eaten"
  239. instead.  If a block already down is eaten, then everything will fall.  Every
  240. now and again, you'll get lucky and a random block or color will complete a
  241. line for you.  Keep in mind that this is totally random, so there is no "screw
  242. the player" algorithm in this game to mess up that 7-long diagonal you were
  243. about to make.  (If something screws you up, it was just plain dumb luck!)
  244.  
  245. Random colors and blocks will not appear right after you make one or more
  246. lines.  This is to give you a fair chance at completing a round.  Believe it or
  247. not, I used to have colored blocks appear anywhere as well, and any block would
  248. appear anywhere anytime.  This led to mass chaos, and the game became way too
  249. random to be playable at high rounds.  So if you're starting to get into a
  250. tight situation, then you should start clearing lines to avoid getting blocks
  251. and colors thrown at you.  At about round 25 (random colors and blocks,
  252. starting color configuartions), this becomes very necessary.  It's hard to get
  253. the line you want for 20,000 points to get past that 45,000 points level.
  254.  
  255. The initial speed of a level is determined by what round you started on, and
  256. how many rounds you have completed so far.  So round 19 will be VERY fast if
  257. you started at round 1, but fairly slow if that's the round you start on.
  258. Also, the level speeds up as the number of pieces you've used so far increases.
  259.  
  260.                                  Game Play
  261.                                  ---------
  262.  
  263. The pieces will start horizontal at the middle of the top row.  If any one of
  264. these 3 squares is taken up before a piece is to be started there, the game
  265. ends.  You may rotate the pieces and move them left and right in the playing
  266. area.  Hitting the speed down key does just that:  Makes the piece fall rather
  267. quickly.  In order to score the maximum points for a drop, the key must be held
  268. down until the piece falls all the way (you hear the drop noise).  If you let
  269. it go halfway down, you only get the points from where you start pressing it
  270. again.
  271.  
  272. The piece will continue to fall until it hits another piece already on the
  273. board or a block.  Any color block that's suspended in midair (unless it's
  274. above a grey block) will continue to fall downward.  You don't have any control
  275. over the piece as soon as it splits.  You also only get points for where it
  276. fell before it split.  This may take a little getting used to, but it makes the
  277. more interesting (and a hell of a lot easier and faster for me to program).
  278.  
  279. There are a ton of ways to score points in this game.  However, that's what
  280. makes this game so different from most other games.  Some games (like Columns)
  281. have ridiculously simple scoring:  one point for the first each of the first
  282. three blocks, two points for each one after that.  Well, that's pretty boring
  283. and not much of a strategist's game.  Here are all the ways you can score:
  284.  
  285. Fall:  The easiest way possible to score.  You get points for how far down you
  286. drop a piece.  The further it falls, the more points you get.  As noted above,
  287. you only get as many points for dropping a piece from where you start pushing
  288. it down.
  289.  
  290. Lines:  The basic point of the game.  The bigger the line, and depending on
  291. what type it is, the more points you get.  Here is a scoring rundown:
  292.  
  293.         Line type/# blocks |   4     5     6     7      8      9
  294.         -------------------+---------------------------------------
  295.              Vertical      |  100  1000  2500   5000   7500  10000
  296.                            |
  297.             Horizontal     |  500  1500  3000   5000   9000  15000
  298.                            |
  299.              Diagonal      | 1000  2500  5000  10000  25000  50000
  300.  
  301. Colors bonus:  This is very important, since it is another major goal of the
  302. game.  If you only clear one color on a drop, you get normal points.  However,
  303. for each color above one that you clear on a SINGLE piece drop, the total line
  304. points you get is doubled.  So if you cleared two colors, you would get 2x's
  305. the score, all four colors would be 8x's the score.
  306.  
  307. Line bonus:  This is a "progressive" bonus.  That means the more times you get
  308. it, the more points you get for each time.  If you are good at setting up
  309. "chain reactions," then this is for you.  You get a bonus for each line above
  310. one you clear for a single drop of a piece.  The first line above one you clear
  311. is worth 500 points, and the value of the bonus goes up 500 for each line
  312. thereafter.  Thus, the second one would be worth 1000, the third 1500, etc.
  313. This is cumulative, so clearing three lines would be worth 1500 bonus points
  314. (one line worth 0, the second worth 500, the third worth 1000).  Four lines
  315. cleared would be worth 3000, five would be 5000, etc.  I have gotten 10,500 a
  316. couple of times, but never above that.  (That's a total of 7 lines on a single
  317. drop!)  This bonus is not affected by the color bonus.
  318.  
  319. End-of-game line bonus:  This is applicable to the endurance game only.  As the
  320. name implies, it is given at the end of the game.  This is to offset the heavy
  321. scoring possible by length and colors bonuses.  Since the main objective is to
  322. make as many lines as possible, I decided to add this to make each line worth a
  323. bit more.  Getting a 9-long diagonal with all four colors is worth well over
  324. 400,000 points.  But getting about 120 lines in one game is worth around
  325. 700,000-800,000 points.  This is also a progressive bonus.  The first line you
  326. make is scored as 50 points plus 5 points times the level number you started
  327. on.  If you started at level 5, the first line would be worth 75 points.  This
  328. score is added to the bonus points for the next line, like the line bonus
  329. above.  So if you started a game at level 6 and only got 4 lines (a fairly sad
  330. game), then you'd get 80+160+240+320=800 points.  Usually, you'll get a bit
  331. more than 4 lines, so this bonus is very significant, especially if you get,
  332. say, 150 lines.
  333.  
  334. End-of-round bonus:  This is applicable to the arcade game only.  This bonus is
  335. a total of four individual bonuses:
  336. - Round bonus:  Quite simply, 1000 times the round number.
  337. - Over bonus:  This depends on the goal.  For line rounds, 1000 points for each
  338. extra line you clear.  For point rounds, the number of points over the goal you
  339. went, rounded DOWN to the closest 100, and is limited to 50,000.  For diagonal
  340. rounds, 2500 for each diagonal over the goal.
  341. - Clear bonus:  Another progressive bonus.  The base score is the round number
  342. divided by 2.  You get the base score for the first clear square there is, and
  343. the bonus for each square is increased by the base for each clear square.  Any
  344. 1/2 points are disregarded.  So, after clearing round one, the first few empty
  345. squares are worth 0, 1, 1, 2, 2, etc.  Round 2 would be worth 1, 2, 3, 4, 5...
  346. Round 10 would be worth 5, 10, 15, 20...  This is done for each empty square
  347. you have at the end of the round.
  348. - Block bonus:  Compensation for the difficulty of blocks.  200 for each one on
  349. the screen at the end of the round.
  350.  
  351. All of these points are shown when you get them on the right half of the
  352. screen.  Also on the right half is the NEXT display which shows the piece
  353. you'll get next, obviously.  To the right of NEXT: is a number in parentheses.
  354. This is the piece number of the next piece.  If there's a 13 there, that'll be
  355. the 13th piece you've played.  For the endurance game, this is cumulative the
  356. whole game.  It is reset each round for the arcade game.
  357.  
  358. After the game is over, you'll be presented with a new screen giving you your
  359. final score, the total number of lines you had, and your rank.  Separate high
  360. score charts are kept for endurance and arcade games.  If you're in the top 20,
  361. you'll be prompted to enter your name.  Anything more than 13 characters will
  362. be cut off.  The game keeps track of the top 100 scores, so you'll still get a
  363. good idea of how well you did if you don't make the top 20.  Currently there is
  364. no way to see the other 80 scores.  If you don't make the top 100, you'll know
  365. about it.
  366.  
  367. After the rank screen, you'll be presented with the high score chart for the
  368. game you were playing.  If you made top 20, your score will be flashing in
  369. pretty colors.  Also, your rank is shown at the bottom of the screen.  Hit a
  370. key to go back to demo mode.
  371.  
  372. The score and number of lines and game type of the last game you played are now
  373. shown at the top of the title page.  Your rank will still be shown for your
  374. last game on the appropriate high score page during demo mode as well.
  375.  
  376.                                Game Controls
  377.                                -------------
  378.  
  379. Keep in mind that you can hold down these keys and the effect will be repeated
  380. depending on your preferences settings from Workbench.  The exceptions to this
  381. are the speed down keys.  As long as your finger is on them they will fall.  I
  382. almost put joystick control in this game, but then I thought:  Why?  So I
  383. didn't.  If there's enough demand, then I will.
  384.  
  385.  
  386.  
  387.              Keypad   Arrow keys
  388.  
  389. Move left:      4     left-arrow
  390. Move right:     6     right-arrow
  391. Rotate piece:   5     down-arrow
  392. Speed down:     2     space bar
  393.  
  394. Pause:          ESC
  395. Kill game:      ctrl-c
  396.  
  397. You can use these keys interchangeably if you want.  I.e. you can use 4, 5, 6
  398. to move the piece and space bar to speed it down if you want.  Also, for highly
  399. technical reasons, partially because of my laziness, and partially for
  400. execution speed for "lesser" computers, ANY 4, 5, and 6 key will move the
  401. piece, but ONLY the 2 key on the keypad will speed it down.  If you desperately
  402. need or want different controls, I can fix it easily enough.  Note that
  403. alternate keymaps will NOT work, because I have the standard U.S.A. keymap
  404. defined in this program.  So changing the keymap in preferences will have
  405. totally NO effect on Colors.
  406.  
  407. There are some keys that work in the demo mode as well:
  408.  
  409. space bar:       advance demo one page
  410. E:               start endurance game
  411. A:               start arcade game
  412. Q:               quit game
  413. ctrl-c:          kill game (works ANYtime)
  414. any other key:   go back to title page
  415.  
  416. If you hit ctrl-c, you interrupt the program no matter what it's doing and
  417. abort it.  If you hit it during a game, everything you did will be lost.  If
  418. you hit it before the high score screen shows up after a game, your score won't
  419. be saved (probably).  If I were you, I'd just avoid using this key unless
  420. you're really in a hurry.
  421.  
  422.  
  423.                                   Closing
  424.                                   =======
  425.  
  426.  
  427. Well, that's about all I have to say.  You can get in touch with me at one of
  428. the following places:
  429.  
  430. Internet:   kjohnson@csugrad.cs.vt.edu
  431.  
  432. Snailnet:   Keith Johnson
  433.             5404 Nuthatch Ct.
  434.             Warrenton, VA  22186
  435.  
  436. This is my home address, by the way, because I don't see any reason why you'd
  437. want to write me at school.  Chances are I'll be living off campus next year,
  438. so the address in here wouldn't last very long.  Please distribute this
  439. product!  If it gets on Compuserve or GEnie or whatever, great!  I'd do it
  440. myself if I had access, but I don't, so please someone out there put it up!  If
  441. it gets to Fred Fish or another PD library, great.  Good luck and have fun!
  442.  
  443.  
  444.  
  445.